RBM and DBN

受限波尔滋曼机的作用:提取特征

受限波尔滋曼机的训练过程其实就是Gibbs采样,通过Gibbs采样逐渐逼近一个波尔滋曼分布,隐藏层就是提取的特征。受限波尔滋曼机的结构类似自编码器,不同之处在于学习算法不同,RBM是用的CD学习算法,用Gibbs采样逐渐逼近一个波尔滋曼分布。

受限波尔滋曼机在协同过滤中的应用

Conditional RBM’s

假设我们对K个从K个可能的评分连接到每个隐藏特征的权重中的每一个,都加上w,并且从隐藏特征的偏置中抽取w。和K评分表示的一样,这不影响隐藏或者可见单元的行为,因为”softmax”已经被参数化了。但是,如果评分是missing的,w就对隐藏特征的总输入有影响。所以使用已经参数化的softmax,RBM可以学习使用missings评分来影响隐藏特征,尽管它不会重构missings评分,而且也不进行缩放missings评分数量的计算。

在Netflix数据库中有更多的信息来源没有被标准的多元RBM捕捉到。Netflix事先告诉了我们,哪些user/movie对在测试集中出现过,因此我们有了第三个分类,电影被浏览过但是评分未知。对于用户在测试集中出现多少次这样的信息,这是有用的来源,尤其是它们只给训练数据集中的一小部分进行了评分。比如,一个用户有一个评分“Rocky 5”,我们就可以假设他喜欢那种电影。

Conditional RBM模型考虑了额外的信息,设\(r\in { \left\{ 1,0 \right\} }^{ M }\)是长度为M(总的电影数)的二值向量,表示用户评论过的电影(尽管有些评论是未知的)。这种思想是在已知 \(r\) 的条件下,定义了一个\((V,h)\)的联合分布,在提出的条件模型中,\(r\) 会影响隐藏神经元的状态:
$$p({ v }_{ i }^{ k }=1|h)=\frac { exp({ b }_{ i }^{ k }+\sum _{ j=1 }^{ F }{ { h }_{ j } } { W }_{ ij }^{ k }) }{ \sum _{ l=1 }^{ K }{ exp({ b }_{ i }^{ l }+\sum _{ j=1 }^{ F }{ { h }_{ j } } { W }_{ ij }^{ l }) } } $$
$$p({ h }_{ j }=1|V,r)=\sigma ({ b }_{ j }+\sum _{ i=1 }^{ m }{ \sum _{ k=1 }^{ K }{ { v }_{ i }^{ k }{ { W }_{ ij }^{ k } } } } +\sum _{ i=1 }^{ M }{ { r }_{ i }{ D }_{ ij } } ) $$
这里\({ D }_{ ij }\)是学习得到的矩阵的元素,该矩阵基于 \(h\) 建模 \(r\) 的影响。用CD学习算法学习D和学习偏置很相似,有如下形式:
$$\Delta { D }_{ ij }=\epsilon ({ <{ h }_{ j }> }_{ data }-{ <{ h }_{ j }> }_{ T }){ r }_{ i } $$

或者我们可以定义一个任意的非线性函数\(f(r|\theta )\),通过让\f\)对\(\theta\)进行微分,我们可以使用后向传播算法来学习\(\theta\):
$$\Delta \theta =\epsilon ({ <{ h }_{ j }> }_{ data }-{ <{ h }_{ j }> }_{ T })\frac { \partial f(r|\theta ) }{ \partial \theta } $$
尤其是\(f(r|\theta ) \)可以作为多层神经网络被参数化。

reducing the dimensionality of data with neural networks

处理多层BP神经网络,初值,激活函数的选择。

语义hashing